home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 125 / Computer Shopper CD-ROM Issue 125 (1998-07)(Dennis Publishing).iso / Business / Dazzler / DAZZLER.Z / CPresentationView.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-26  |  7.4 KB  |  464 lines

  1. import java.awt.Component;
  2. import java.awt.Event;
  3. import java.awt.Graphics;
  4. import java.awt.Point;
  5.  
  6. class CPresentationView extends COffScreenView {
  7.    final int stopped;
  8.    final int running = 1;
  9.    final int testing = 2;
  10.    final int defining = 3;
  11.    int m_bRunState = 1;
  12.    boolean m_bMouseCaptured;
  13.    CDrawObj m_pCapturedObject;
  14.    int m_nFlags;
  15.    CWindowAction m_CurWindowAction = new CWindowAction();
  16.    boolean m_bRButtonDown;
  17.    CActiveEventList m_ActiveEventList = new CActiveEventList();
  18.  
  19.    boolean OnLButtonDown(int var1, Point var2) {
  20.       if (this.IsRunning()) {
  21.          CVariable var3 = Utils.SearchAllVariables(CVariableTable.strDefVariables[15]);
  22.          if (var3 != null) {
  23.             var3.SetValue(var2.x);
  24.          }
  25.  
  26.          var3 = Utils.SearchAllVariables(CVariableTable.strDefVariables[16]);
  27.          if (var3 != null) {
  28.             var3.SetValue(var2.y);
  29.          }
  30.  
  31.          if (!this.m_bMouseCaptured) {
  32.             this.m_pCapturedObject = super.m_DrawObjectList.HitTest(var2);
  33.             if (this.m_pCapturedObject != null && this.m_pCapturedObject.IsMoveable()) {
  34.                this.m_bMouseCaptured = true;
  35.                super.m_ptOffset.x = var2.x - this.m_pCapturedObject.GetDrawRect().x;
  36.                super.m_ptOffset.y = var2.y - this.m_pCapturedObject.GetDrawRect().y;
  37.                Point var4 = new Point(0, 0);
  38.                var4.x = this.m_pCapturedObject.GetDrawRect().x + this.m_pCapturedObject.GetDrawRect().width / 2;
  39.                var4.y = this.m_pCapturedObject.GetDrawRect().y + this.m_pCapturedObject.GetDrawRect().height / 2;
  40.                CVariable var5 = Utils.SearchAllVariables(CVariableTable.strDefVariables[19]);
  41.                if (var5 != null) {
  42.                   var5.SetValue(var4.x);
  43.                }
  44.  
  45.                var5 = Utils.SearchAllVariables(CVariableTable.strDefVariables[20]);
  46.                if (var5 != null) {
  47.                   var5.SetValue(var4.y);
  48.                }
  49.  
  50.                var5 = Utils.SearchAllVariables(CVariableTable.strDefVariables[24]);
  51.                if (var5 != null) {
  52.                   var5.SetValue(this.m_pCapturedObject.GetIconObject().GetText());
  53.                }
  54.             }
  55.          }
  56.  
  57.          if (!this.m_bMouseCaptured && super.OnMouseClick(2022, var1, var2)) {
  58.             ((Component)this).postEvent(new Event(this, 2003, (Object)null));
  59.          }
  60.       }
  61.  
  62.       return true;
  63.    }
  64.  
  65.    boolean OnRButtonDown(int var1, Point var2) {
  66.       if (this.IsRunning() && super.OnMouseClick(2025, var1, var2)) {
  67.          ((Component)this).postEvent(new Event(this, 2003, (Object)null));
  68.       }
  69.  
  70.       return true;
  71.    }
  72.  
  73.    void SetCurrentWindowAction(CWindowAction var1) {
  74.       this.m_CurWindowAction = var1;
  75.    }
  76.  
  77.    void SetStoppedState() {
  78.       this.m_bRunState = 0;
  79.    }
  80.  
  81.    public void paint(Graphics var1) {
  82.       CRect var2 = new CRect(var1.getClipRect());
  83.       ((COffScreenView)this).Render(var2);
  84.       ((COffScreenView)this).Draw((Graphics)null, var2);
  85.    }
  86.  
  87.    boolean IsLayerLocked(short var1) {
  88.       return this.m_CurWindowAction.IsLayerLocked(var1);
  89.    }
  90.  
  91.    boolean OnKillAnims() {
  92.       Globals.theAnimThread.RemoveAllAnimObjects();
  93.       return true;
  94.    }
  95.  
  96.    boolean OnDoResponse(Event var1) {
  97.       if (Globals.CUR_COURSE != null) {
  98.          ((COffScreenView)this).DoEntryResponses();
  99.          int var2 = Globals.CUR_COURSE.OnDoResponse();
  100.          if (var2 == 1) {
  101.             ((COffScreenView)this).RemoveAllTemporaryDrawObjects();
  102.             ((Component)this).postEvent(new Event(this, 2001, (Object)null));
  103.          } else if (var2 == 0) {
  104.             if (Globals.CUR_COURSE.m_pCourseCalledFrom != null) {
  105.                CCourse var3 = Globals.CUR_COURSE;
  106.                Globals.CUR_COURSE = Globals.CUR_COURSE.m_pCourseCalledFrom;
  107.                if (var3 != null && var3.GetCalledFromTask() != null) {
  108.                   Globals.CUR_COURSE.SetCurTask(var3.GetCalledFromTask());
  109.                }
  110.  
  111.                var3.m_pCourseCalledFrom = null;
  112.                if (var3 != null && var3.m_bUnload && Globals.thePresView.CanCloseCourse(var3)) {
  113.                   Globals.thePresView.CloseCourse(var3);
  114.                }
  115.  
  116.                if (!Globals.CUR_COURSE.OnSetupResponse()) {
  117.                   ((Component)this).postEvent(new Event(this, 2003, (Object)null));
  118.                }
  119.  
  120.                return false;
  121.             }
  122.  
  123.             this.SetStoppedState();
  124.          }
  125.       }
  126.  
  127.       return false;
  128.    }
  129.  
  130.    boolean OnRunFromAnotherCourse(Integer var1) {
  131.       int var2 = var1;
  132.       if (Globals.CUR_COURSE != null && Globals.CUR_COURSE.m_TaskList.GetCount() > 0) {
  133.          Globals.CUR_COURSE.AddEventsToActiveList();
  134.          Globals.CUR_COURSE.m_bCloseWhenPossible = false;
  135.          Globals.CUR_COURSE.m_VariableTable.SetDefaultVariables();
  136.          Globals.CUR_COURSE.ResetHistory();
  137.          Globals.CUR_COURSE.m_nPreviousTaskTag = 0;
  138.          Object var3 = null;
  139.          Globals.CUR_COURSE.SetCurTask(Globals.CUR_COURSE.m_TaskList.GetHead());
  140.          CTask var4;
  141.          if (var2 != 0 && (var4 = Globals.CUR_COURSE.FindTaskTag(var2)) != null) {
  142.             Globals.CUR_COURSE.SetCurTask(var4);
  143.          }
  144.  
  145.          this.SetRunningState();
  146.          ((Component)this).postEvent(new Event(this, 2001, (Object)null));
  147.       }
  148.  
  149.       return false;
  150.    }
  151.  
  152.    public void update(Graphics var1) {
  153.       this.paint(var1);
  154.    }
  155.  
  156.    boolean OnDoEvent(Event var1) {
  157.       CVariable var2 = Utils.SearchAllVariables(CVariableTable.strDefVariables[25]);
  158.       if (var2 != null) {
  159.          CVariable var3 = Utils.SearchAllVariables(CVariableTable.strDefVariables[26]);
  160.          if (var3 != null) {
  161.             var3.SetValue(var2.GetNumericValue());
  162.          }
  163.  
  164.          if (Globals.CUR_COURSE.GetCurTask() != null) {
  165.             var2.SetValue((double)Globals.CUR_COURSE.GetCurTask().GetTagNumber());
  166.          } else {
  167.             var2.SetValue((double)0.0F);
  168.          }
  169.       }
  170.  
  171.       ((Component)this).postEvent(new Event(this, 2002, (Object)null));
  172.       return true;
  173.    }
  174.  
  175.    void SetDefiningState() {
  176.       this.m_bRunState = 3;
  177.    }
  178.  
  179.    CPresentationView() {
  180.       if (Globals.CUR_COURSE != null) {
  181.          Globals.CUR_COURSE.m_VariableTable.SetDefaultVariables();
  182.       }
  183.  
  184.    }
  185.  
  186.    void SetFlag(int var1) {
  187.       this.m_nFlags |= var1;
  188.    }
  189.  
  190.    boolean IsDefining() {
  191.       return this.m_bRunState == 3;
  192.    }
  193.  
  194.    boolean OnMciNotify(int var1, String var2) {
  195.       if (this.IsRunning() && super.OnNotify(var1, var2)) {
  196.          ((Component)this).postEvent(new Event(this, 2003, (Object)null));
  197.       }
  198.  
  199.       return false;
  200.    }
  201.  
  202.    boolean IsTesting() {
  203.       return this.m_bRunState == 2;
  204.    }
  205.  
  206.    void SetTestingState() {
  207.       this.m_bRunState = 2;
  208.    }
  209.  
  210.    boolean OnTimer(Event var1) {
  211.       byte var2 = 18;
  212.       if (Globals.CUR_COURSE != null && Globals.CUR_COURSE.OnTimer(var2)) {
  213.          ((Component)this).postEvent(new Event(this, 2003, (Object)null));
  214.          return true;
  215.       } else {
  216.          return false;
  217.       }
  218.    }
  219.  
  220.    boolean OnDoAction(Event var1) {
  221.       if (Globals.CUR_COURSE != null && Globals.CUR_COURSE.OnDoAction()) {
  222.          if (!Globals.CUR_COURSE.OnSetupResponse()) {
  223.             ((COffScreenView)this).RenderAndDrawDirtyList();
  224.             ((Component)this).postEvent(new Event(this, 2003, (Object)null));
  225.          } else {
  226.             ((COffScreenView)this).RenderAndDrawDirtyList();
  227.          }
  228.       }
  229.  
  230.       return true;
  231.    }
  232.  
  233.    CActiveEventList GetActiveEventList() {
  234.       return this.m_ActiveEventList;
  235.    }
  236.  
  237.    boolean OnKeyDown(int var1, int var2, Event var3) {
  238.       if (this.IsRunning() && Globals.CUR_COURSE.OnKeyPress(var1, var3)) {
  239.          ((Component)this).postEvent(new Event(this, 2003, (Object)null));
  240.          return true;
  241.       } else {
  242.          return false;
  243.       }
  244.    }
  245.  
  246.    boolean OnLButtonDblClk(int var1, Point var2) {
  247.       if (this.IsRunning() && super.OnMouseClick(2021, var1, var2)) {
  248.          ((Component)this).postEvent(new Event(this, 2003, (Object)null));
  249.          return true;
  250.       } else {
  251.          return false;
  252.       }
  253.    }
  254.  
  255.    boolean OnRButtonDblClk(int var1, Point var2) {
  256.       if (this.IsRunning() && super.OnMouseClick(2024, var1, var2)) {
  257.          ((Component)this).postEvent(new Event(this, 2003, (Object)null));
  258.       }
  259.  
  260.       return true;
  261.    }
  262.  
  263.    public boolean handleEvent(Event var1) {
  264.       Point var2 = new Point(0, 0);
  265.       byte var3 = 0;
  266.       ((Component)this).requestFocus();
  267.       switch (var1.id) {
  268.          case 401:
  269.          case 403:
  270.             return this.OnKeyDown(var1.key, 1, var1);
  271.          case 501:
  272.             var2.x = var1.x;
  273.             var2.y = var1.y;
  274.             if (var1.modifiers == 0) {
  275.                var3 = 1;
  276.                if (var1.clickCount == 1) {
  277.                   return this.OnLButtonDown(var3, var2);
  278.                }
  279.  
  280.                if (var1.clickCount == 2) {
  281.                   return this.OnLButtonDblClk(var3, var2);
  282.                }
  283.             } else if (var1.modifiers == 8) {
  284.                var3 = 16;
  285.                if (var1.clickCount == 1) {
  286.                   return this.OnLButtonDown(var3, var2);
  287.                }
  288.  
  289.                if (var1.clickCount == 2) {
  290.                   return this.OnLButtonDblClk(var3, var2);
  291.                }
  292.             } else if (var1.modifiers == 4) {
  293.                this.m_bRButtonDown = true;
  294.                var3 = 2;
  295.                if (var1.clickCount == 1) {
  296.                   return this.OnRButtonDown(var3, var2);
  297.                }
  298.  
  299.                if (var1.clickCount == 2) {
  300.                   return this.OnRButtonDblClk(var3, var2);
  301.                }
  302.             }
  303.  
  304.             return false;
  305.          case 502:
  306.             var2.x = var1.x;
  307.             var2.y = var1.y;
  308.             if (var1.modifiers == 0) {
  309.                if (this.m_bRButtonDown) {
  310.                   var3 = 2;
  311.                   this.m_bRButtonDown = false;
  312.                   return this.OnRButtonUp(var3, var2);
  313.                }
  314.  
  315.                var3 = 1;
  316.                return this.OnLButtonUp(var3, var2);
  317.             } else if (var1.modifiers == 8) {
  318.                var3 = 16;
  319.                return this.OnLButtonUp(var3, var2);
  320.             } else {
  321.                if (var1.modifiers == 4) {
  322.                   var3 = 2;
  323.                   return this.OnRButtonUp(var3, var2);
  324.                }
  325.  
  326.                return false;
  327.             }
  328.          case 503:
  329.          case 506:
  330.             if (Globals.bIgnoreMouse) {
  331.                return false;
  332.             }
  333.  
  334.             var2.move(var1.x, var1.y);
  335.             return this.OnMouseMove(var3, var2);
  336.          case 2001:
  337.             return this.OnDoEvent(var1);
  338.          case 2002:
  339.             return this.OnDoAction(var1);
  340.          case 2003:
  341.             return this.OnDoResponse(var1);
  342.          case 2027:
  343.             boolean var4 = this.OnTimer(var1);
  344.             return var4;
  345.          case 2028:
  346.             return this.OnKillAnims();
  347.          case 2029:
  348.             return this.OnMciNotify(var1.modifiers, (String)var1.arg);
  349.          case 2033:
  350.             return this.OnRunFromAnotherCourse((Integer)var1.arg);
  351.          default:
  352.             return false;
  353.       }
  354.    }
  355.  
  356.    boolean IsStopped() {
  357.       return this.m_bRunState == 0;
  358.    }
  359.  
  360.    void SetRunningState() {
  361.       this.m_bRunState = 1;
  362.    }
  363.  
  364.    boolean OnLButtonUp(int var1, Point var2) {
  365.       if (this.IsRunning()) {
  366.          CVariable var3 = Utils.SearchAllVariables(CVariableTable.strDefVariables[17]);
  367.          if (var3 != null) {
  368.             var3.SetValue(var2.x);
  369.          }
  370.  
  371.          var3 = Utils.SearchAllVariables(CVariableTable.strDefVariables[18]);
  372.          if (var3 != null) {
  373.             var3.SetValue(var2.y);
  374.          }
  375.  
  376.          if (this.m_bMouseCaptured) {
  377.             this.m_bMouseCaptured = false;
  378.             Point var4 = new Point(0, 0);
  379.             var4.x = this.m_pCapturedObject.GetDrawRect().x + this.m_pCapturedObject.GetDrawRect().width / 2;
  380.             var4.y = this.m_pCapturedObject.GetDrawRect().y + this.m_pCapturedObject.GetDrawRect().height / 2;
  381.             CVariable var5 = Utils.SearchAllVariables(CVariableTable.strDefVariables[21]);
  382.             if (var5 != null) {
  383.                var5.SetValue(var4.x);
  384.             }
  385.  
  386.             var5 = Utils.SearchAllVariables(CVariableTable.strDefVariables[22]);
  387.             if (var5 != null) {
  388.                var5.SetValue(var4.y);
  389.             }
  390.  
  391.             if (this.m_pCapturedObject.GetSetByIconObject() != null) {
  392.                CDragDropResponse var6 = (CDragDropResponse)this.m_pCapturedObject.GetSetByIconObject();
  393.                if (var6.GetDragType() == 0) {
  394.                   var2.x = this.m_pCapturedObject.GetDrawRect().x + var6.GetBase().GetValue();
  395.                   var2.y = this.m_pCapturedObject.GetDrawRect().y + var6.GetEnd().GetValue();
  396.                   if (super.OnMouseClick(2023, var1, var2)) {
  397.                      ((Component)this).postEvent(new Event(this, 2003, (Object)null));
  398.                   }
  399.                } else if (var6.GetDragType() == 1 && this.m_pCapturedObject.GetSetByIconObject().OnMouseClick(2023, var1, var2, 7)) {
  400.                   Globals.CUR_COURSE.SetActiveIconObject(this.m_pCapturedObject.GetSetByIconObject());
  401.                   ((Component)this).postEvent(new Event(this, 2003, (Object)null));
  402.                }
  403.             }
  404.  
  405.             this.m_pCapturedObject = null;
  406.          }
  407.  
  408.          if (!this.m_bMouseCaptured && super.OnMouseClick(2023, var1, var2)) {
  409.             ((Component)this).postEvent(new Event(this, 2003, (Object)null));
  410.          }
  411.       }
  412.  
  413.       return true;
  414.    }
  415.  
  416.    boolean OnRButtonUp(int var1, Point var2) {
  417.       if (this.IsRunning() && super.OnMouseClick(2026, var1, var2)) {
  418.          ((Component)this).postEvent(new Event(this, 2003, (Object)null));
  419.       }
  420.  
  421.       return true;
  422.    }
  423.  
  424.    void ClearFlag(int var1) {
  425.       this.m_nFlags &= ~var1;
  426.    }
  427.  
  428.    boolean IsRunning() {
  429.       return this.m_bRunState == 1;
  430.    }
  431.  
  432.    boolean OnMouseMove(int var1, Point var2) {
  433.       if (this.IsRunning()) {
  434.          if (this.m_bMouseCaptured) {
  435.             if (this.m_pCapturedObject != null) {
  436.                Point var3 = new Point(this.m_pCapturedObject.GetDrawRect().x, this.m_pCapturedObject.GetDrawRect().y);
  437.                CRect var4 = this.m_pCapturedObject.GetDrawRect();
  438.                if (this.m_pCapturedObject.GetSetByIconObject() != null) {
  439.                   CDragDropResponse var5 = (CDragDropResponse)this.m_pCapturedObject.GetSetByIconObject();
  440.                   if (var5.GetDragType() == 0) {
  441.                      var3.move(var2.x - super.m_ptOffset.x, var2.y - super.m_ptOffset.y);
  442.                      var3 = var5.GetPtWithinRect(var3, var4);
  443.                   } else if (var5.GetDragType() == 1) {
  444.                      var3.move(var2.x - super.m_ptOffset.x, var2.y - super.m_ptOffset.y);
  445.                      var3 = var5.GetNearestPtOnPath(var3, var4);
  446.                      var5.m_ptCurrentPos.x = var3.x + var4.width / 2;
  447.                      var5.m_ptCurrentPos.y = var3.y + var4.height / 2;
  448.                   } else if (var5.GetDragType() == 2) {
  449.                      var3.move(var2.x - super.m_ptOffset.x, var2.y - super.m_ptOffset.y);
  450.                      var3 = var5.GetPtWithinRect(var3, var4);
  451.                   }
  452.                }
  453.  
  454.                this.m_pCapturedObject.MoveTo(var3, true, true);
  455.             }
  456.          } else {
  457.             super.OnMouseMove(var1, var2);
  458.          }
  459.       }
  460.  
  461.       return true;
  462.    }
  463. }
  464.